﻿==============================================================================
DOSYA ADI  : PartyHandler.cpp
KAYNAK      : -GameServer\PartyHandler.cpp
SISTEM      : v2369 Reconnect - SUNUCU
BOYUT       : 35912 bayt / 1338 satir
ACIKLAMA    : Parti uyeligi kontrolu - askiya alinmis karakter korumasi
ESLESME     : 3 satir / 1 blok
==============================================================================

NOT: Bu dosya yalnizca RECONNECT ile ilgili kod bloklarini icerir.
     Satir numaralari KAYNAK dosyadaki orijinal satirlardir.

----------------------------------------------------------------------
>> KAYNAK SATIR 690 - 743
----------------------------------------------------------------------
   690 | 		<< pParty->NumberTargetID
   691 | 		<< pUser->m_sUserPartyType << pUser->m_bPersonalRank;
   692 | 	g_pMain->Send_PartyMember(GetPartyID(), &result);
   693 | 
   694 | 	for (int i = 0; i < MAX_PARTY_USERS; i++) //17.12.2020 Partyde HP Degeri Yazi Olarak Gosterme
   695 | 	{
   696 | 		pUser = g_pMain->GetUserPtr(pParty->uid[i]);
   697 | 		if (pUser == nullptr)
   698 | 			continue;
   699 | 
   700 | 		pUser->SendPartyHpManager(PartyType::Send_All);
   701 | 	}
   702 | }
   703 | #pragma endregion
   704 | 
   705 | #pragma region void CUser::PartyNemberRemove(uint16 UserID)
   706 | void CUser::PartyNemberRemove(uint16 UserID, _PARTY_GROUP* pmyparty)
   707 | {
   708 | 	if (!isInApprovedParty())
   709 | 		return;
   710 | 
   711 | 	CUser* pUser = g_pMain->GetUserPtr(UserID);
   712 | 	if (pUser == nullptr)
   713 | 		return;
   714 | 
   715 | 	// Reconnect bekleyen üyenin (askı aktif ya da disconnect edilmiş reconnect
   716 | 	// ticket'ı) partiden çıkarılması engellenir: disconnect/reconnect boyunca
   717 | 	// parti durumu korunur ve resume'da slot yeni oturuma bağlanır.
   718 | 	if (pUser->IsReconnectPending())
   719 | 		return;
   720 | 
   721 | 	_PARTY_GROUP* pParty = nullptr;
   722 | 	if (!pmyparty) pParty = g_pMain->GetPartyPtr(GetPartyID());
   723 | 	else pParty = pmyparty;
   724 | 
   725 | 	if (pParty == nullptr) {
   726 | 		m_bInParty = pUser->m_bInParty = false;
   727 | 		m_bInEnterParty = pUser->m_bInEnterParty = false;
   728 | 		m_sPartyIndex = pUser->m_sPartyIndex = -1;
   729 | 		m_sUserPartyType = pUser->m_sUserPartyType = 0;
   730 | 		return;
   731 | 	}
   732 | 
   733 | 	if (pUser->GetSocketID() != GetSocketID()) {
   734 | 		if (pParty->uid[0] != GetSocketID())
   735 | 			return;
   736 | 	}
   737 | 	else {
   738 | 		if (pParty->uid[0] == pUser->GetSocketID()) {
   739 | 			PartyisDelete();
   740 | 			return;
   741 | 		}
   742 | 	}
   743 | 

